10 REM ************************* 20 REM *** BALANCE CHECKBOOK *** 30 REM ************************* 40 REM 50 REM 60 REM COPYRIGHT(C) 1985 70 REM KENT M. BRIDWELL 80 REM 90 REM 100 CLR:RESTORE:POKE53280,0:POKE53281,0:GOSUB210:PRINT"[156]OPTIONS:" 110 PRINTTAB(4)"[155](B) [154]- BALANCE CHECKBOOK" 120 PRINTTAB(4)"[155](V) [154]- VERIFY CHECKBOOK REGISTER" 130 PRINT" [158]":POKE198,0 140 GETK$:IFK$=""THEN140 150 IFK$="B"THENGOSUB210:GOTO270 160 IFK$="V"THEN1220 170 GOTO140 180 REM 190 REM ------ TITLE HEADER ------ 200 REM 210 PRINT"[147][153]"TAB(10)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 220 PRINTTAB(10)"[153][221][155]BALANCE CHECKBOOK[153][221]" 230 PRINTTAB(10)"[153][173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]":RETURN 240 REM 250 REM ------- INFORMATION ------- 260 REM 270 CLR:RESTORE:DIMCK$(500),CA$(500),SD$(50),DA$(50) 280 Q$=CHR$(34):TB$=CHR$(16):C1=0:C2=0 290 DT$="":INPUT"[156]STATEMENT DATE[154]";DT$:IFDT$=""THENPRINT"[145][145][145]":GOTO290 300 PRINT"[156]BALANCE ACCORDING TO CHECKBOOK REGISTER" 310 CR$="":INPUT" [154]";CR$ 320 IFCR$=""THENPRINT"[145][145]":GOTO310 330 BA$="":INPUT"[156]NEW BALANCE PER STATEMENT[154]";BA$ 340 IFBA$=""THENPRINT"[145][145][145]":GOTO330 350 GOSUB210:PRINT"[156]ARE THERE ANY CHECKS OUTSTANDING WHICH" 360 PRINT"HAVE NOT YET CLEARED?[160]([155]Y/N[156])":POKE198,0 370 GETK1$:IFK1$<>"Y"ANDK1$<>"N"THEN370 380 IFK1$="Y"THENGOSUB410 390 GOTO570:REM ---> INFO CONT'D 400 REM 410 REM ---- OUTSTANDING CHECKS ---- 420 REM 430 PRINT"[129]FOR EACH OUTSTANDING CHECK, ENTER (WHEN" 440 PRINT"REQUESTED) THE CHECK NUMBER AND AMOUNT." 450 PRINT"AFTER THE LAST CHECK HAS BEEN LISTED, " 460 PRINT"ENTER ";Q$;"*";Q$;" [129]TO EXIT." 470 INPUT" [152]PRESS <[155]RETURN[152]> WHEN READY TO START[144]";K:C1=1 480 GOSUB210:PRINT"[154] (ENTER [155]";Q$;"*";Q$;" [154]TO EXIT)" 490 CK$(C1)="":INPUT"[129]CHECK NUMBER[155]";CK$(C1) 500 IFCK$(C1)=""THENPRINT"[145][145][145]":GOTO490 510 IFCK$(C1)="*"THENC1=C1-1:GOTO590 520 CA$(C1)="":INPUT"[129]CHECK AMOUNT[155]";CA$(C1) 530 IFCA$(C1)=""THENPRINT"[145][145][145]":GOTO520 540 IFCA$(C1)="*"THENC1=C1-1:RETURN 550 C1=C1+1:GOTO480 560 REM 570 REM ----- INFORMATION CONT'D ----- 580 REM 590 GOSUB210:PRINT"[156]ARE THERE ANY DEPOSITS WHICH HAVE NOT " 600 PRINT"BEEN POSTED YET?[160]([155]Y/N[156])":POKE198,0 610 GETK2$:IFK2$<>"Y"ANDK2$<>"N"THEN610 620 IFK2$="Y"THENGOSUB650 630 GOTO830:REM ---> CALCULATIONS 640 REM 650 REM ----- UNPOSTED DEPOSITS ----- 660 REM 670 PRINT"[129]FOR EACH UNPOSTED DEPOSIT, ENTER (WHEN" 680 PRINT"REQUESTED) THE SOURCE AND AMOUNT." 690 PRINT"AFTER THE LAST DEPOSIT HAS BEEN LISTED," 700 PRINT"ENTER ";Q$;"*";Q$;" [129]TO EXIT." 710 INPUT" [152]PRESS <[155]RETURN[152]> WHEN READY TO START[144]";K:C2=1 720 GOSUB210:PRINT"[154] (ENTER [155]";Q$;"*";Q$;" [154]TO EXIT)" 730 PRINT"[129](16 CHARACTERS MAXIMUM)[145][145]" 740 SD$(C2)="":INPUT"SOURCE[155]";SD$(C2) 750 IFLEN(SD$(C2))>16THENPRINT" ** TOO LONG! **":FORT=1TO1000:NEXTT:GOTO720 760 IFSD$(C2)=""THENSD$(C2)="" 770 IFSD$(C2)="*"THENC2=C2-1:GOTO850 780 DA$(C2)="":INPUT"[129]DEPOSIT AMOUNT[155]";DA$(C2) 790 IFDA$(C2)=""THENPRINT"[145][145][145]":GOTO780 800 IFDA$(C2)="*"THENC2=C2-1:RETURN 810 C2=C2+1:GOTO720 820 REM 830 REM ------ CALCULATIONS ------ 840 REM 850 GOSUB210:PRINT"[154] * * * NOW COMPUTING * * *" 860 CK=0:FORI=1TOC1 870 CK=CK+VAL(CA$(I)):NEXTI 880 DP=0:FORI=1TOC2 890 DP=DP+VAL(DA$(I)):NEXTI 900 BA=(INT((VAL(BA$)+DP-CK)*100+.5))/100 910 CR=(INT(VAL(CR$)*100+.5))/100:IFBA=CRTHEN1430:REM ---> BALANCED! 920 REM 930 REM ------ NOT BALANCED! ------ 940 REM 950 PRINT"[145][156] [210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210]" 960 PRINT"[159] BAD NEWS! - THE FIGURES DO NOT BALANCE" 970 PRINT"[156] [197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197]" 980 PRINT"[129] BALANCE FROM STATEMENT:" 990 PRINT"[158] BEFORE ADJUSTMENTS>[155] $";(INT(VAL(BA$)*100+.5))/100 1000 PRINT"[152] AFTER ADJUSTMENTS>[155] $";BA 1010 PRINT"[153] BALANCE FROM CHECKBOOK>[155] $";CR 1020 PRINT" [155][192][192][192][192][192][192][192][192][192][192][133]" 1030 PRINT"[154] NET DIFFERENCE: [155]$";(INT(ABS(BA-CR)*100+.5))/100 1040 INPUT" [152]PRESS <[155]RETURN[152]> TO SEE PRESENT OPTIONS[144]";K$ 1050 REM 1060 REM ----- OPTIONS MENU ----- 1070 REM 1080 GOSUB210:PRINT"[154]CHOICES:" 1090 PRINTTAB(4)"[156]([155]1[156]) TRY AGAIN TO BALANCE" 1100 PRINTTAB(4)"[156]([155]2[156]) REVIEW/CORRECT ENTRIES" 1110 PRINTTAB(4)"[156]([155]3[156]) VERIFY CHECKBOOK ENTRIES" 1120 PRINTTAB(4)"[156]([155]4[156]) GIVE UP FOR NOW":POKE198,0 1130 GETK$:IFK$=""THEN1130 1140 IFK$="1"THENGOSUB210:GOTO270 1150 IFK$="2"THEN1820 1160 IFK$="3"THEN1220 1170 IFK$="4"THENGOSUB210:PRINT"[129]FINI![154]":FORT=1TO2000:NEXT:SYS65126 1180 GOTO1130 1190 REM 1200 REM --- VERIFY CHECK REGISTER --- 1210 REM 1220 GOSUB210:PRINT"[154] *** VERIFY CHECKBOOK ENTRIES ***" 1230 PRINT"[152](TO ENTER A DEPOSIT, PRESS TO" 1240 PRINT"SKIP CHECK INPUT.)" 1250 INPUT"[156]BALANCE AT LAST STATEMENT[155]";BB 1260 PRINT"[152]----------------<[155]START[152]>-----------------" 1270 PRINT"[153]BALANCE FORWARD: $";BB 1280 PRINT"[158] (ENTER ";Q$;"*";Q$;" [158]TO EXIT)" 1290 CK$="0":DP$="0":INPUT"[145][145][145][145][145][145][129]TRANSACTION: [155]CHECK AMOUNT[158]";CK$ 1300 IFCK$="*"THEN1370 1310 IFVAL(CK$)>0THEN1340 1320 INPUT" [155]DEPOSIT AMOUNT[158]";DP$ 1330 IFDP$="*"THEN1370 1340 BB=BB+VAL(DP$)-VAL(CK$) 1350 PRINTTAB(15)"[153]NEW BALANCE: [155]$";(INT(BB*100+.5))/100 1360 PRINT"[152]----------------------------------------":GOTO1290 1370 GOSUB210:PRINT"[154]VERIFIED CHECKBOOK BALANCE = [155]$";BB 1380 PRINT"[156]CHOICES:" 1390 PRINTTAB(4)"[156]([155]1[156]) TRY TO BALANCE CHECKBOOK":GOTO1100 1400 REM 1410 REM -------- BALANCED! -------- 1420 REM 1430 PRINT"[145][153] >>> CHECKBOOK BALANCED! [153]<<< " 1440 PRINT"[154]YOUR CURRENT":PRINT"ADJUSTED BALANCE.......[155]$";(INT(BA*100+.5))/100 1450 PRINT"[129]DO YOU WANT A PRINTOUT? ([155]Y/N[129])":POKE198,0 1460 GETK$:IFK$<>"Y"ANDK$<>"N"THEN1460 1470 GOSUB210 1480 IFK$="N"THENPRINT"[129]FINI![154]":FORT=1TO2000:NEXT:SYS65126 1490 REM 1500 REM -------- PRINTOUT -------- 1510 REM 1520 PRINT"[154]BE SURE THAT PRINTER IS SET UP PROPERLY." 1530 INPUT"PRESS <[155]RETURN[154]> WHEN READY.[144]";K 1540 PRINT"[150] >>> PRINTER ACTIVATED! <<<" 1550 OPEN4,4:PRINT#4:PRINT#4 1560 PRINT#4,CHR$(14)" * * CHECKBOOK BALANCE * *" 1570 PRINT#4,CHR$(15):PRINT#4,"STATEMENT DATED ";DT$:PRINT#4 1580 H%=INT(C1/2) 1590 IFC1=0THENPRINT#4,"(NO CHECKS OUTSTANDING)":GOTO1670 1600 PRINT#4,"CHECKS OUTSTANDING":PRINT#4,"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]" 1610 FORI=1TOH% 1620 PRINT#4,"#";CK$(I);TB$;"08$"+CA$(I); 1630 PRINT#4,TB$;"25#"+CK$(I+H%);TB$;"33$"+CA$(I+H%) 1640 NEXTI:I=I-1 1650 IFI+H%"SD$(I) 1710 NEXTI 1720 PRINT#4:PRINT#4,TB$;"10TOTAL: $"DP 1730 PRINT#4,CHR$(14):PRINT#4," >> NEW BALANCE = $";BA 1740 PRINT#4,CHR$(15):PRINT#4:CLOSE4 1750 GOSUB210:PRINT"[159]OPTIONS:" 1760 PRINTTAB(4)"[154]<[155]R[154]> - [152]RUN AGAIN" 1770 PRINTTAB(4)"[154]<[155]E[154]> - [152]EXIT/END":POKE198,0 1780 GETK$:IFK$<>"R"ANDK$<>"E"THEN1780 1790 IFK$="R"THENRUN 1800 K$="4":GOTO1170 1810 REM 1820 REM --- REVIEW/CORRECT ENTRIES --- 1830 REM 1840 PRINT"[147]"TAB(8)"[156][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 1850 PRINTTAB(8)"[221][155]REVIEW/CORRECT ENTRIES[156][221]" 1860 PRINTTAB(8)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]" 1870 REM ---- <<< CHECKS >>> ---- 1880 IFC1>0THEN1960 1890 PRINT"[129]CHECKS OUTSTANDING:[158] THERE ARE NO CHECKS" 1900 PRINT"REPORTED OUTSTANDING. DO YOU NOW WISH" 1910 PRINT"TO ADD ANY? [129]([155]Y/N[129])":POKE198,0 1920 GETK1$:IFK1$<>"Y"ANDK1$<>"N"THEN1920 1930 IFK1$="N"THEN2210 1940 GOSUB410:REM ---> CHECK INPUTS 1950 GOTO2210 1960 PRINT"[158]REVIEW OUTSTANDING CHECKS":AF=0:V1=1:V2=C1 1970 FORI=V1TOV2:PRINT"[153]---------------------------------------" 1980 PRINT"[129]CHECK NUMBER [155]";CK$(I) 1990 PRINT"[129]CHECK AMOUNT [155]$";CA$(I) 2000 GOSUB2550 2010 IFX$="1"THEN2150 2020 IFX$="2"THENGOSUB2070:GOTO2150 2030 IFX$="3"THENGOSUB2110:GOTO2150 2040 REM ----- (CHANGE ENTRY) ----- 2050 INPUT" [156]CHECK NUMBER[158]";CK$(I) 2060 INPUT" [156]CHECK AMOUNT[158]";CA$(I):GOTO2150 2070 REM ----- (DELETE CHECK) ----- 2080 FORJ=ITOC1-1:CK$(J)=CK$(J+1):CA$(J)=CA$(J+1):NEXT 2090 C1=C1-1:IFC1<0THENC1=0:I=V2 2100 RETURN 2110 REM ----- (ADD CHECK) ----- 2120 C1=C1+1:FORJ=C1TO(I+1)STEP-1:CK$(J)=CK$(J-1):CA$(J)=CA$(J-1):NEXTJ 2130 INPUT" [156]CHECK NUMBER[158]";CK$(I) 2140 INPUT" [156]CHECK AMOUNT[158]";CA$(I):AF=1:RETURN 2150 NEXTI 2160 IFAF=1THENV1=I:V2=C1:AF=0:GOTO1970 2170 PRINT"[159]>> [154]ADD ONE AT END? ([155]Y/N[154])":POKE198,0 2180 GETK$:IFK$<>"Y"ANDK$<>"N"THEN2180 2190 IFK$="N"THEN2210 2200 C1=C1+1:I=C1:GOSUB2130 2210 REM ---- <<< DEPOSITS >>> ---- 2220 IFC2>0THEN2290 2230 PRINT"[147][129]UNPOSTED DEPOSITS:[158] THERE ARE NO DEPOSITS"; 2240 PRINT"REPORTED UNPOSTED. DO YOU NOW WISH TO" 2250 PRINT"ADD ANY? [129]([155]Y/N[129])":POKE198,0 2260 GETK2$:IFK2$<>"Y"ANDK2$<>"N"THEN2260 2270 IFK2$="N"THEN830:REM ---> CALC 2280 GOSUB650:GOTO830:REM ---> DEPOSIT INPUTS 2290 PRINT"[158]REVIEW UNPOSTED DEPOSITS":AF=0:V1=1:V2=C2 2300 FORI=V1TOV2:PRINT"[153]---------------------------------------" 2310 PRINT"[129]DEPOSIT SOURCE [155]";SD$(I) 2320 PRINT"[129]DEPOSIT AMOUNT [155]$";DA$(I) 2330 GOSUB2550 2340 IFX$="1"THEN2470 2350 IFX$="2"THENGOSUB2390:GOTO2470 2360 REM ----- (CHANGE ENTRY) ----- 2370 INPUT" [156]SOURCE[158]";SD$(I) 2380 INPUT" [156]AMOUNT[158]";DA$(I):GOTO2470 2390 REM ----- (DELETE DEPOSIT) ----- 2400 FORJ=ITOC2-1:SD$(J)=SD$(J+1):DA$(J)=DA$(J+1):NEXT 2410 C2=C2-1:IFC2<0THENC2=0:I=V2 2420 RETURN 2430 REM ----- (ADD DEPOSIT) ----- 2440 C2=C2+1:FORJ=C2TO(I+1)STEP-1:SD$(J)=SD$(J-1):DA$(J)=DA$(J-1):NEXT 2450 INPUT" [156]SOURCE[158]";SD$(I) 2460 INPUT" [156]AMOUNT[158]";DA$(I):AF=1:RETURN 2470 NEXTI 2480 IFAF=1THENV1=I:V2=C1:AF=0:GOTO2300 2490 PRINT"[159]>> [154]ADD ONE AT END? ([155]Y/N[154])":POKE198,0 2500 GETK$:IFK$<>"Y"ANDK$<>"N"THEN2500 2510 IFK$="N"THEN2530 2520 C2=C2+1:I=C2:GOSUB2450 2530 GOTO830:REM ---> CALCULATIONS 2540 REM 2550 REM ------ REVIEW OPTIONS ------ 2560 REM 2570 PRINT"[154]CHOOSE OPTION:" 2580 PRINTTAB(4)"[159]1 [152]NO CHANGE [154]<[155]RETURN [154]KEY>" 2590 PRINTTAB(4)"[159]2 [152]DELETE" 2600 PRINTTAB(4)"[159]3 [152]ADD ITEM (WILL PRECEDE THIS ONE)" 2610 PRINTTAB(4)"[159]4 [152]CORRECTION":POKE198,0 2620 GETX$:IFX$<>"1"ANDX$<>"2"ANDX$<>"3"ANDX$<>"4"ANDX$<>CHR$(13)THEN2620 2630 IFX$=CHR$(13)THENX$="1" 2640 RETURN 59999 END 60000 OPEN15,8,15,"S0:BAL. CHECKBOOK":CLOSE15:SAVE"0:BAL. CHECKBOOK",8